For an application that makes little use of COM, where is the most effecient place to make the CoInitialize/Unitialize calls?

Currently I use COM only briefly in a modal dialog and CoInitialize it in the WM_CREATE message, CoUnitializing it on WM_NCDESTROY. However the literature is a bit ambiguous as to if this is a good strategy. Some sources say this is an effective way to reduce memory usage by COM (versus placing the calls at program init/end), others say there may be time required between the init call and when it is actually initialized, making calls in between them prone to error.

So where is a good place for these calls to both limit resources used and still ensure COM is intialized properly?